1) For the NMOS_VTL the Vth is 0.322 volts and given that the sigma is known.
to generate 6 different values of noise to be applied to Vth by a normal distribution whose standard deviation depends on
the "width" and "length" of the individual transistors.

so R script or matlab script inpu parameters are "w", "l" <-- calculate "sigma"
sigma0 is known

Lmin = 50nm
Wmin = 90nm
Vth0(NMOS) = 0.322 Volts <-- can find this in NMOS_VTL
sigma0)Vth = 20mv


sigma_Vth = sigma0_Vth*sqrt(Wmin * Lmin)/sqrt(wl);

Assume K = sigma0_Vth*sqrt(Wmin * Lmin)

sigma_Vth = K/sqrt(wl);

for a 6T bitcell, 6 different values are to be generated for noise.

unknowns = Vth for pmos, sigma0_vth for pmos, and Wmin, Lmin;
The Vth for PMOS and NMOS need not be considered for the mean as the data for monte carlo acts as the noise source
which only requires the sigma_Vth to generate the values. Again sigma_Vth(NMOS) = sigma_Vth(PMOS).


Methods to generate this:

a) R or Matlab program to generate noise Vth data from a normal distribution with 0 mean and sigma_Vth, which is the
parameter getting changed for different values of width and length.

b) since there are three different tuples of (w,l) for pass_transistor, pull_up_transistors and pull_down_transistors, with
lets say (Wg, Lg), (Wp, Lp), (Wn, Ln), there seems to be a need for 3 distributions as there are three different sigma. But to
simplify matters its wise to go with the max(Wi * Li). Since this is the parameter getting used for fixing the sigma for
various width and length. As of now we are keeping the length the same, but only varying the Width. So check with max of the 3 widths.

c) so a 6 tuple random number is generated for noise voltage (a, b, c, d, e, f) which is normally distributed around the mean 0
with sigma_Vth.

d) 1000 such values are to be generated and this be used for the noise voltages applied.

e) R code for generating monte carlo data for a given width and length has been done and the plot shows the variation in the
noise applied to be modelled to threshold voltages.

Spectre, Ocean and netlist
Please check monte_carlo folder for more comments in code and explaination

